home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #2 / Amiga Plus CD - 1995 - No. 2.iso / internet / faq / englisch / comp.lang.modula2 < prev    next >
Encoding:
Text File  |  1995-04-11  |  19.7 KB  |  578 lines

  1. Archive-name: Modula-2-faq
  2. Last-modified: 1995/02/28
  3. Version: 1.12
  4.  
  5. Originally-By: mgallo@iptech.com (Mike Gallo)
  6. Maintained-By: randy@psg.com (Randy Bush)
  7.  
  8. Copyright 1992-5, M Gallo and R Bush.  All rights reserved.  May be
  9. distributed for free only in toto, including this notice.
  10.  
  11. Additions corrections solicited.  Commercials and commercial products are
  12. intentionally undermentioned.  Implementors are preferred to distributors.
  13.  
  14.  
  15. CONTENT
  16.  
  17. 1)  What is comp.lang.modula2?
  18. 2)  What is Modula-2?
  19. 3)  What about Modula-2 standardization?
  20. 4)  What are Oberon and Oberon-2?
  21. 5)  What about Modula-3, Object Oberon, and Seneca?
  22. 6)  Where can I find implementations of Modula-2?
  23. 7)  Where can I find implementations of Oberon[-2]?
  24. 8)  Where can I find interesting libraries and sources?
  25. 9)  Some popular FTP sites
  26.  
  27.  
  28. 1)  What is comp.lang.modula2?
  29.  
  30. comp.lang.modula2 is a forum for the discussion of the Modula-2 programming
  31. language and related topics.  Prominent "related topics" have been the Oberon
  32. languages, Modula-3, the new ISO Modula-derived languages, etc.  The newsgroup
  33. is gated to the FidoNet echo conference MODULA-2.
  34.  
  35. Folk with only Internet E-Mail access can participate in the discussion by
  36. joining the INFO-M2 mailing list.  To do this, send an E-Mail message to
  37. listserv@ucf1vm.cc.ucf.edu, with the following in the message body:
  38.     subscribe info-M2 yourFirstname yourLastName
  39. This server also has a very large archive of previous messages.
  40.  
  41. 2)  What is Modula-2?
  42.  
  43. Modula-2 is a programming language designed by Niklaus Wirth of Pascal fame.
  44. Among other things, it features strong typing,modules, a rich variety of data
  45. types, a powerful set of control statements, procedure types, opaque types, and
  46. coroutines.
  47.  
  48.  
  49. 3)  What about Modula-2 standardization?
  50.  
  51. There is no standard for the Modula-2 language or library beyond Niklaus
  52. Wirth's classic text, "Programming in Modula-2".  There is an ISO committee,
  53. ISO/JTC1/SC22/WG13, which has circulated a number of drafts which have varied
  54. between editions.  The current edition ISO/IEC DIS 10514:1994, August 1994
  55. has been approved as a DIS.
  56.  
  57. To find out what's happening with standardization, contact the chair of WG13,
  58. Mark Woodman, m.woodman@open.ac.uk.
  59.  
  60.  
  61. 4)  What are Oberon and Oberon-2?
  62.  
  63. The Oberon language was a part of Wirth's Oberon operating system.  Oberon is
  64. the successor to Modula-2 by its original designer,Niklaus Wirth of ETH,
  65. Zurich.  In brief, it removes variant records, opaque types, enumerations,
  66. subranges, the CARDINAL type, local modules, automatic qualifications, general
  67. indexing, the FOR and WITH statements, and even the notion of a program or
  68. main module.  Oberon adds type extension (inheritance) and, in its purest
  69. form, automatic garbage collection.
  70.  
  71. Oberon-2 is Oberon with a small set of extensions by H. Moessenboeck, also of
  72. ETH, Zurich.  These extensions are type-bound procedures (methods), read-only
  73. export, open array variables, a WITH statement with variants, and the
  74. reintroduction of the FOR loop.
  75.  
  76. More detailed information can be found in "Software: Practice and Experience"
  77. (July 1988, September 1989) and by anonymous ftp from the host
  78. neptune.inf.ethz.ch:/Oberon/Docu.
  79.  
  80. "Project Oberon, The Design of an Operating System and Compiler"
  81. N. Wirth and J. Gutknecht
  82. ACM Press and Addison-Weseley Publishing Company, 1992
  83. ISBN 0-201-54428-8 
  84. neptune.inf.ethz.ch (129.132.101.33)
  85. in ~ftp/Oberon/Examples/ProjectOberon.tar.Z
  86. File ~ftp/Oberon/Examples/readme.PO gives some further information.
  87.  
  88. "Programming in Oberon", Reiser & Wirth, ACM Press, 320 pgs, 1992.
  89.  
  90. "The Programming Language Oberon-2", Moessenboeck & Wirth, _Structured
  91. Programming_, Vol. 12, No. 4, pp. 179-195, 1991.
  92.  
  93.  
  94. 5)  What about Modula-3, Object Oberon, and Seneca?
  95.  
  96. Modula-3 is an interesting language designed at DEC Software Research Center,
  97. also as a successor to Modula-2.  Unless there is a specific question about
  98. how it relates to Modula-2 or Oberon, posts about Modula-3 would be better
  99. directed to Comp.lang.modula3.
  100.  
  101. Object Oberon is an Oberon variant designed by H.  Moessenboeck and J. Templ
  102. of ETH, Zurich.  It eventually evolved into Oberon-2.
  103.  
  104. Seneca is an Oberon variant focusing on numerical applications and is by R.
  105. Griesemer of ETH, Zurich. It is still under development.
  106.  
  107.  
  108. 6)  Where can I find (preferably free) implementations of Modula-2?
  109.  
  110. While there have been several implementations of Modula-2, they are not as
  111. numerous nor as easy to find as, for example, C.  Some implementations are
  112. listed below.  These are merely some commonly used implementations, and should
  113. not be taken as a recommendation of any of the following products.  Only
  114. implementors are listed, not distribuors.  Free or shareware implementations
  115. receive preferential treatment, as they encourage the new and/or experimental
  116. Modulan.
  117.  
  118. For MS-DOS:
  119.  
  120.      Fitted Software Tools
  121.      P.O. Box 867403
  122.      Plano, TX 75086
  123.      USA
  124.      ftp at ftp.psg.com:pub/modula-2/pc
  125.      FidoNet .REQuest from 1:105/6
  126.  
  127.      Gardens Point Modula-2
  128.      ftp at ftp.psg.com:pub/modula-2/pc
  129.  
  130.      Clarion Topspeed Modula-2
  131.      Clarion Software
  132.      150 East Sample Road
  133.      Pompano Beach, FL  33064
  134.      USA
  135.  
  136.      Extasy Modula-2 (demo version)
  137.      Multiscope, Inc.
  138.      1235 Pear Ave.
  139.      Mountain View, CA  94043
  140.      USA
  141.      (415) 968-4892
  142.  
  143.      Stony Brook Software
  144.      187 East Wilbur, Suite 9
  145.      Thousand Oaks, CA 91360
  146.      USA
  147.      Tel: +1 (805) 496 5837 (tech Support)
  148.      Fax; +1 (805) 496 7429
  149.  
  150. Sun-4:
  151.  
  152.     The only free Sun4-implementation I've heard of is that of Metrowerks
  153.     (ftp 132.208.12.5, login metro, passwd release4.0) but I haven't tested
  154.     it yet.
  155.     -- borchert@mathematik.uni-ulm.de
  156.  
  157.     While Sun (more properly SunPro) has discontinued direct support of M2,
  158.     responsibility for it has been transferred to Edinburgh Portable
  159.     Compilers Ltd (see below).
  160.  
  161. Sun-3:
  162.  
  163.     From: borchert@MATHEMATIK.UNI-ULM.DE (Andreas Borchert)
  164.  
  165.     Ulm's Modula-2 system for SUN 3 is now available via anonymous ftp from
  166.     titania.mathematik.uni-ulm.de (134.60.66.21). You'll find it in the
  167.     subdirectory pub/soft/modula/ulm/sun3.
  168.  
  169. Macintosh:
  170.  
  171.     MacMETH Modula-2 for the Mac
  172.     neptune.inf.ethz.ch:~/macmeth/*
  173.     ftp.psg.com:~/pub/.modula-2/macMETH/*
  174.  
  175.     p1 GmbH
  176.     Hogenbergstr. 20
  177.     W-80686 Munich 21
  178.     Germany
  179.     Tel   : +49(89)5461310
  180.     Fax   : +49(89)5802597
  181.     E-Mail: GER.XSE0109@AppleLink.Apple.COM (Elmar Henne)
  182.     (features Object oriented extensions which are compatible with Apple's
  183.      Object Pascal and MacApp)
  184.  
  185.     Metrowerks, Inc.
  186.     The Trimex Bldg, Rte 11
  187.     Mooers, NY 12958
  188.     USA
  189.     Tel  : (514) 458-2018
  190.     Email: achim@mips1.info.uqam.ca (Marcel Achim)
  191.     (Wirth's one-pass ported to MacOS, module size limited to 32k)
  192.  
  193. VMS:
  194.  
  195.     Florian Matthes
  196.     Fachbereich Informatik
  197.     Universitaet Hamburg      Tel. + (49) 40 4123 4144
  198.     Schlueterstrasse 70       Fax. + (49) 40 4123 6122
  199.     D-20146 Hamburg 13         e-mail: matthes@dbis1.informatik.uni-hamburg.de
  200.     Germany
  201.  
  202.     TERRA Datentechnik
  203.     Bahnhofstrasse 33
  204.     CH-8703 Erlenbach
  205.     Switzerland
  206.     (M2VMS (formerly Logitech's?) + distributor for others)
  207.     Phone: +41 1 910 35 55
  208.     Fax:   +41 1 910 19 92
  209.     BBS:   +41 1 910 35 31 (300 - 9600 baud, 8, N, 1)
  210.  
  211. Misc:
  212.  
  213.     A Modula-2 compiler for VAX BSD & ULTRIX and for MIPS/ULTRIX is available
  214.     via FTP from gatekeeper.dec.com:pub/DEC/Modula-2.
  215.  
  216.     2i Industrial Informatics GmbH
  217.     Haierweg 20e
  218.     D-79114 Freiburg
  219.     Germany
  220.     (MOCKA Modula-2 for DEC VAX(VMS&ULTRIX) & maybe others)
  221.     ( there is some doubt they are still active )
  222.  
  223.     A+L AG
  224.     D"aderiz 61
  225.     CH-2540 Grenchen
  226.     (From: hartmut@oberon.nbg.sub.org (Hartmut Goebel)
  227.     (distributes both a M2 and an Oberon-2 compiler for AmigaOS)
  228.  
  229.     Armadillo Computing
  230.     5225 Marymount Drive
  231.     Austin, Texas 78723 USA
  232.     512/926-0360
  233.     Internet: jolinger@bix.com
  234.     (M2 for Amiga)
  235.     (From: jolinger@bix.com)
  236.  
  237.     Associated Computer Experts b.v.
  238.     Van Eeghenstraat 100
  239.     Amsterdam 1071GL
  240.     Netherlands
  241.     (Modula-2 for 680x0)
  242.  
  243.     Edinburgh Portable Compilers, Ltd.
  244.     17 Alva Street
  245.     Edinburgh EH2 4PH
  246.     UK
  247.     support@epc.ed.ac.uk  voice: +44 131 225 6262  fax: +44 131 225 6644
  248.     20 Victor Square
  249.     Scotts Valley
  250.     California 95066
  251.     info@epc.com  +1 408 438 1851
  252.     (SCO Unix V.[34], Motorola 88000 UNIX V.[34], SPARC UNIX & Solaris,
  253.     RS/6000 AIX)
  254.  
  255.     Gardens Point Modula-2
  256.     Prof. John Gough
  257.     Queensland University of Technology
  258.     Gardens Point Branch
  259.     2 George Street
  260.     GPO Box 2434
  261.     Brisbane, Queensland  4001
  262.     Australia
  263.     +61 7-864-2132 (voice)
  264.     +61 7-864-1801 (fax)
  265.     (for DOS and most UNIX workstations)
  266.  
  267.     MOCKA: Modula Compiler Karlsruhe:
  268.     Universitaet Karlsruhe
  269.     Institut fuer Programm- und Datenstrukturen
  270.     Vincenz-Priessnitz-Strasse 3
  271.     D-76128 Karlsruhe (FRG)
  272.     Phone: *-49-721-608 6088        FAX: *-49-721-691462
  273.     ---
  274.     system       | operating system    |   processor         |
  275.     -------------+---------------------+---------------------+
  276.     SUN 4        | SUN OS              | SPARC               |
  277.     SUN 4        | Solaris2.x/SunOS 5.0| SPARC               |
  278.     DEC Station  | ULTRIX              | R3000, R2000 (MIPS) |
  279.     Silicon      | IRIX                | R3000, R2000 (MIPS) | *
  280.       Graphics   |                     |                     |
  281.     Sony NEWS    | News                | MC 68020 with 68881 | *
  282.     SUN 3        | SUN OS              | MC 68020 with 68881 |
  283.     PCS Cadmus   | UNIX                | MC 68020 with 68881 | *
  284.     NeXT         | Mach/UNIX           | MC 68020 with 68881 | *
  285.     HP 9000/300  | HPUX                | MC 68020 with 68881 | *
  286.     HP 9000/700  | HPUX                | C back end          |
  287.     RS6000       | AIX                 | C back end          | *
  288.     VAX          | UNIX (BSD) / ULTRIX | VAX                 | *
  289.     PC           | Linux               | 80386               | +
  290.     PC           | 386BSD              | 80386               | +
  291.     C-back end   | UNIX                | different           |
  292.     translates   |                     |                     |
  293.     M-2 To C     |                     |                     |
  294.     ---
  295.     we [no longer] have access to the maschines marked with a * , it is
  296.     therefor not possible for us to update the version of Mocka for these
  297.     architectures.
  298.     ---
  299.     The versions marked with a + are free, i.e. no orderform must be send to
  300.     us, no lincence fee to be paid. If you use them, please send an email to
  301.     ---
  302.     For more information please send an email to:
  303.     modula@ipd.info.uni-karlsruhe.de
  304.     ---
  305.     i44s10.ira.uka.de        in /pub/mocka/linux
  306.     sunsite.unc.edu        in /pub/Linux/Incoming
  307.     tsx-11.mit.edu        in /incoming
  308.  
  309.     Introl Corporation
  310.     9220 W. Howard Avenue     647 W. Virginia St.
  311.     Milwaukee, WI 53288       Milwaukee, WI 53204
  312.     U.S.A>
  313.     (Cross compiler for targets H630x, M680x, M680x0, NS32000)
  314.  
  315.     Jefferson Software
  316.     12416 N. 28th Dr. #18-236
  317.     Phoenix, AZ 85029-2434
  318.     U.S.A.
  319.     (Jefferson Modula-2 for Atari ST (and others?))
  320.  
  321.     Mandeno Granville Electronics Ltd.
  322.     128 Grange Rd.
  323.     Auckland 3
  324.     New Zealand.
  325.     ph +64 9 6300558
  326.     fax =64 9 6301720
  327.     (compiler available for the Intel 8051 family of Micro's)
  328.     (From: dekker@decus.org.nz)
  329.  
  330.     Masthaven Development Limited
  331.     East Suite, 511 Coldham Lane
  332.     Cambridge CB1 3LN
  333.     United Kingdom
  334.     (Modula-2 for 68000 UNIX)
  335.  
  336.     Megamax
  337.     1200 East Collins, Suite 214
  338.     Richardson, TX 75081
  339.     U.S.A.
  340.     (Modula-2 for Atari ST)
  341.  
  342.     ModulaWare Dotzel
  343.     Meolans Revel
  344.     F-04340 Le Lauzet
  345.     France
  346.     Tel/Fax +33 92.81.30.99
  347.     ModulaWare GmbH
  348.     Haselbachstr. 113
  349.     D-97653 Bischofsheim
  350.     Germany
  351.     Tel/Fax +49 (9772) 7101
  352.     e-mail: 100023.2527@compuserve.com
  353.     (distributor and developer for many platforms)
  354.  
  355.     Rowley Associates
  356.     32 Rowley
  357.     Cam, Dursley
  358.     Glos. GL11 5NT
  359.     United Kingdom
  360.     (Modula-2 for "most platforms")
  361.     (ROMable, realtime, ... specialties)
  362.  
  363.     Vail Silicon Tools Inc.
  364.     Box 165
  365.     Pompano Beach, FL 33069
  366.     U.S.A.
  367.     (cross-compiler (PC host) for 8051 controller)
  368.  
  369.     WATCOM
  370.     415 Phillip Street
  371.     Waterloo, Ontario  N2L 3X2
  372.     Canada
  373.     Tel.:  (519) 886-3700
  374.     FAX:   (519) 747-4971
  375.     BBS:   (519) 884-2103
  376.     Telex: 06-955458
  377.     email: tech@watcom.on.ca
  378.     (Modula-2 VM/SP CMS)
  379.  
  380. [ m2c, a Modula-2 to C translator kit ]
  381.  
  382.     From: sgccseh@citecuc.citec.oz.au (Stephen Hocking)
  383.  
  384.     It is in ftp.gmd.de:/gmd/cocktail/mtc.tar.Z where the bloke who wrote it
  385.     all (Josef Grosch) is based. You will also need reuse.tar.Z and
  386.     front.tar.Z from the same directory. For those interested in compilers,
  387.     that directory is a goldmine.
  388.  
  389.     Ross L Richardson <rlr@postoffice.utas.edu.au> comments:
  390.  
  391.     I believe mtc was originally written by M[atthias] Martin, as some kind
  392.     of Diploma project.
  393.  
  394. Modula-2*
  395.  
  396.     Modula-2* Compiler Available
  397.  
  398.     Modula-2* constructs allow for clear and portable parallel software
  399.     without intolerable loss of efficiency.  The following list contains
  400.     the main advances of Modula-2*:
  401.  
  402.     o The programming model of Modula-2* is a strict superset of data
  403.       parallelism.  It allows both synchronous and asynchronous parallel
  404.       programs.
  405.     o Modula-2* is problem-oriented in the sense that the programmer can
  406.       choose the degree of parallelism and mix the control mode (SIMD- or
  407.       MIMD-like) as needed by the intended algorithm.
  408.     o Parallelism may be nested to arbitrary depth.
  409.     o Procedures may be called from sequential or parallel contexts and can
  410.       themselves generate parallel activity without any restrictions.
  411.     o Most Modula-2* programs can be translated into efficient code for both
  412.       SIMD and MIMD architectures.
  413.  
  414.     I386  =  386/486/Pentium PC running BSDI/386 Unix (sequential)
  415.     KSRP  =  Kendall Square Research KSR-1/KSR-2 running KSR-OS (parallel)
  416.     KSRS  =  Kendall Square Research KSR-1/KSR-2 running KSR-OS (sequential)
  417.     LINX  =  386/486/Pentium PC running Linux (sequential)
  418.     MASP  =  MasPar MP-1/MP-2 with DECStation frontend running MP-Ultrix
  419.          (parallel)
  420.     MIPS  =  R3000/R4000 DECStation running Ultrix (sequential)
  421.     SUN3  =  680x0 Sun-3 running SunOS (sequential)
  422.     SUN4  =  SPARC Sun-4/SparcStation running SunOS (sequential)
  423.  
  424.     You can get the IPD Modula-2* distributions for all supported
  425.     architectures by anonymous ftp from "ftp.ira.uka.de" [129.13.10.90] in the
  426.     directory "pub/programming/modula2star".
  427.  
  428.  
  429. 7)  Where can I find implementations of Oberon(-2)?
  430.  
  431. To repeat, this should not be taken as a recommendation of any of the
  432. following products, but. . .
  433.  
  434. ETH, Zurich has released free implementations of the Oberon system.  These
  435. include Oberon compilers.  They are available by anonymous ftp at
  436. neptune.inf.ethz.ch:/Oberon/* or gatekeeper.dec.com:/pub/plan/oberon/*.
  437.  
  438. Oberon-M is an independently produced Oberon compiler for MS-DOS systems that
  439. can also be found at neptune and gatekeeper.
  440.  
  441. There is also a Modula-2/Oberon-2 to C translator available through
  442.     Real Time Associates Ltd.
  443.     Canning House
  444.     59 Canning Road
  445.     Croydon, Surrey  CRO 6QF
  446.     UK
  447.  
  448. From: thutt@THAMA1.APGEA.ARMY.MIL
  449.  
  450.     The source to the Oberon compilers is not publicly available however, you
  451.     can license the front end and/or the back end for the Oberon-2 compiler
  452.     from ETH for 1000 Swiss Francs.  The license agreement does prohibits you
  453.     from redistributing the source, but you are free to do whatever you want
  454.     with any derivative product, provided you give ETH credit for the original
  455.     compiler source.
  456.  
  457.     You are also required to make ETH aware of your product, and provide the
  458.     product to them should they ask.  It does not state if it needs to be
  459.     source or executable code, however.
  460.  
  461.     It is a pretty loose agreement, but not so loose to hinder ETH.  1000 SFr
  462.     is about 757 dollars, as of last month.
  463.  
  464. AmigaOberon:
  465.     Fridtjof Siebert
  466.     fridi@amokst.stgt.sub.org
  467.  
  468. Modulaware (see above) has commercial implementations of Oberon-2 for a
  469. number of platforms.
  470.  
  471.  
  472. There now is a free Oberon compiler for Amiga called Oberon-A. It can be
  473. found on AmiNet, AMOK-Disks and at several other places.
  474.  
  475.  
  476. 8) Where can I find interesting libraries and sources?
  477.  
  478. The FTP sites listed in 9.
  479.  
  480. Amiga Sources:
  481.  
  482.     From: htgoebel@cip.informatik.uni-erlangen.de (hartmut Goebel)
  483.     
  484.     At ftp.uni-paderborn.de in /amiga/amok you can get all the disks from the
  485.     AMOK series via anonymous ftp.  Please download only 18.00 - 8.00 h
  486.     (MET), cause the transmitt rate is low. Perhaps someone call move the
  487.     disks to overseas, too.
  488.  
  489.     On this series there are several modules both for Oberon and modula2 and
  490.     executable programms (most with source).  While the Programms almost run
  491.     only on the Amiga, the modules may be interesting for other systems, too.
  492.  
  493.     There are modules for many diverent usages, not only generic.
  494.  
  495. MAS Modula-2 Algebra System
  496.  
  497.     From: kredel@unipas.fmi.uni-passau.de (Heinz Kredel)
  498.  
  499.     MAS is an experimental computer algebra system combining imperative
  500.     programming facilities with algebraic specification capabilities for
  501.     design and study of algebraic algorithms.  MAS views mathematics in the
  502.     sense of universal algebra and model theory and is in some parts
  503.     influenced by category theory.
  504.  
  505.     MAS (0.3x and 06.x) is available on electronic networks (internet) via
  506.     anonymous ftp from:  alice.fmi.uni-passau.de = 123.231.10.1
  507.  
  508. Repertoire and other software component libraries
  509.     PMI
  510.     P.O. Box 8402                 3279 N. Nicolet Drive
  511.     Green Bay, WI 54308-8402      Green Bay, WI 54311
  512.     U.S.A.
  513.  
  514.     PMOS is a collection of modules to allow you to write multitasking
  515.     programs.  It runs on IBM-PC compatible computers.  It has been
  516.     compiled with TopSpeed Modula-2.  Porting to other machines and
  517.     compilers is possible, but should probably be tackled only by
  518.     experienced programmers.
  519.     
  520. PMOS - a multitasking library (ftp.psg.com)
  521.  
  522.     The package is potentially of interest to
  523.      - people who want to write real-time applications for the IBM-PC;
  524.      - Modula-2 programmers who want a collection of utility modules;
  525.      - students of operating systems who want to look at real code.
  526.     Full source is included.
  527.     
  528.     The PMOS package includes
  529.      - a kernel which contains a CreateTask procedure, plus various
  530.        routines to support the multitasking.
  531.      - intertask communication via semaphores, mailboxes, queues;
  532.        or you can add your own mechanisms.
  533.      - device drivers for keyboard, printer, A/D, floppy disk, hard
  534.        disk, hardware timer.  (No mouse as yet.)
  535.      - a file system compatible with the MS-DOS FAT system; or you
  536.        can choose to use standard library file operations.
  537.      - screen windows in both text and graphics modes.  (The text-mode
  538.        support is very complete; graphics modes are less fully
  539.        supported so far.)
  540.      - screen utilities such as menus, on-screen editing of defined
  541.        data fields, multiple virtual screens.
  542.      - miscellaneous modules: random numbers, some data structures,
  543.        sorting, etc.
  544.  
  545. Application framework for Windows using TopSpeed M2
  546.  
  547.     <steinrya@ifi.uio.no> has written an application framework for Windows
  548.     using TopSpeed M2 version 3.xx. It defines a set of classes using the OO
  549.     extensions of the TopSpeed compiler. Full source code is available at:
  550.  
  551.     ftp.ifi.uio.no pub/sjr/m2afx.zip
  552.  
  553.     The library allows you to write Windows applications without dealing
  554.     with the messy Windows API, and is modelled after the book "Windows++"
  555.     by Paul DiLascia.  The book describes how to build an application
  556.     framework in C++.  My system has very little documentation, so reading
  557.     the book is highly recommended.
  558.  
  559.     Stein J. Ryan
  560.     Phd Student
  561.     University of Oslo, Norway
  562.  
  563.  
  564. 9) Some Popular FTP sites:
  565.  
  566.     neptune.inf.ethz.ch
  567.     gatekeeper.dec.com
  568.     ftp.psg.com
  569.     titania.mathematik.uni-ulm.de
  570.     i44s10.ira.uka.de
  571.  
  572. -30-
  573.  
  574.  
  575.  
  576. -- 
  577. randy@psg.com   ...!uunet!m2xenix!randy
  578.